home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 June / PCWorld_2004-06_cd.bin / software / vyzkuste / koolmoves / kmsetup.exe / {app} / Motion Scripts / Write On 3 / effect.txt
Text File  |  2002-11-10  |  2KB  |  89 lines

  1. mcN = "letter";
  2.  
  3. pi = 3.1416;
  4. startRadian = startAngle * pi / 180;
  5. finalRadian = finalAngle * pi / 180;
  6.  
  7. xOffset = a * Math.cos(finalRadian);
  8. yOffset = b * Math.sin(finalRadian);
  9.  
  10. xscaleInc  = Math.floor((100 - xscale) / increments);
  11. yscaleInc  = Math.floor((100 - yscale) / increments);
  12. alphaInc   = Math.floor((100 - alpha)  / increments);
  13. radianInc  = (finalRadian - startRadian) / increments;
  14. tiltInc    = -tilt / increments;
  15.  
  16. aLetters = new Array();
  17.  
  18. for (i = 0; i< numChar; i++){
  19.   aLetters[i+0] = i;
  20.   var letter =  this[mcN +i];
  21.   letter._visible = false;
  22.   letter.init = letterInit;
  23.   letter.doEffect = effect;
  24.   letter.number = i;
  25. }
  26.  
  27. function letterInit(){
  28.   this._visible = true;
  29.   this.step = 0;
  30.   this.increments = this._parent.increments;
  31.   this.xscaleInc  = this._parent.xscaleInc;
  32.   this.yscaleInc  = this._parent.yscaleInc;
  33.   this._xscale    = this._parent.xscale;
  34.   this._yscale    = this._parent.yscale;
  35.   this._alpha     = this._parent.alpha;
  36.   this.alphaInc   = this._parent.alphaInc;
  37.   this.a          = this._parent.a;
  38.   this.b          = this._parent.b;
  39.   this.xFinal     = this._x;
  40.   this.yFinal     = this._y;
  41.   this.xOffset    = this._parent.xOffset;
  42.   this.yOffset    = this._parent.yOffset;
  43.   this._x         = this._x - this.xOffset;
  44.   this._y         = this._y + this.yOffset;
  45.   this.radianInc  = this._parent.radianInc;
  46.   this.radian     = this._parent.startRadian;
  47.   this.tiltInc    = this._parent.tiltInc;
  48.   this._rotation  = this._parent.tilt;
  49. }
  50.  
  51. function effect(){
  52.   this._xscale   += this.xscaleInc;
  53.   this._yscale   += this.yscaleInc;
  54.   this._alpha    += this.alphaInc;
  55.   this._rotation += this.tiltInc;
  56.   this.radian    += this.radianInc;
  57.  
  58.   xDist        = a * Math.cos(this.radian);
  59.   yDist        = b * Math.sin(this.radian);
  60.  
  61.   this._x      = this.xFinal + xDist - this.xOffset;
  62.   this._y      = this.yFinal - yDist + this.yOffset;
  63.  
  64.   this.step += 1;
  65.  
  66.   if (this.step >= this.increments){
  67.     this._xscale   = 100;
  68.     this._yscale   = 100;
  69.     this._alpha    = 100;
  70.     this._x        = this.xFinal;
  71.     this._y        = this.yFinal;
  72.     this._rotation = 0;
  73.     this.gotoAndStop("end");
  74.   }
  75. }
  76.  
  77. function shuffle(){
  78.   return Math.floor(Math.random() * 3) -1;
  79. }
  80. if (random == 1){
  81.   aLetters.sort(shuffle);
  82. }
  83.  
  84. if (reverse == 1){
  85.   aLetters.reverse();
  86. }
  87.  
  88.  
  89.